#include "drv_key.h"
#include "bsp_gpio.h"

/* KEY 按键 */

/**
 * KEY0 : PA0
 * KEY1 : PC0
 */

#define KEY0_PORT   GPIOA
#define KEY0_PIN    GPIO_PIN_0

#define KEY1_PORT   GPIOC
#define KEY1_PIN    GPIO_PIN_0



/* export func */

void drv_key_init(void)
{
    GPIO_InitTypeDef GPIO_InitStruct;

    __HAL_RCC_GPIOA_CLK_ENABLE();
    __HAL_RCC_GPIOC_CLK_ENABLE();

    /* KEY0 */
    GPIO_InitStruct.Pin = KEY0_PIN;
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
    GPIO_InitStruct.Pull = GPIO_PULLUP;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_MEDIUM;
    HAL_GPIO_Init(KEY0_PORT, &GPIO_InitStruct);

    /* KEY1 */
    GPIO_InitStruct.Pin = KEY1_PIN;
    HAL_GPIO_Init(KEY1_PORT, &GPIO_InitStruct);
}

uint8_t drv_key_pres_key0(void)
{
    return (bsp_gpio_pin_get(KEY0_PORT, KEY0_PIN) == 0 ? 1 : 0);
}

uint8_t drv_key_pres_key1(void)
{
    return (bsp_gpio_pin_get(KEY1_PORT, KEY0_PIN) == 0 ? 1 : 0);
}



